iT邦幫忙

2023 iThome 鐵人賽

DAY 16
0
Modern Web

使用 Clojure 當個 Full-stack 開發者系列 第 16

[Day 16] 常用語法介紹(二)

  • 分享至 

  • xImage
  •  

我們基本在操作都是最常使用的資料結構就是 map/list

然後map-in-map-out最彈性

所以在來補一些相關的function

map

最常使用的就是取值

假設map是

(def ttt {:test 123 :test2 {:inner 666}})

常用的就是

(:test ttt)
(get ttt :test)

這邊可以帶第三個參數,就是default value

(:test2 ttt "default")
(get ttt :test2 "default")

然後朝狀就使用get-in

(get-in ttt [:test2 :inner])

然後就是update

因為所有東西都是immutable,所以update的方式都是會丟入一個如何更新的 function

然後最終回傳更新過的

(這邊可以改原本物件的值,但先不要使用,等熟悉之後再說)

或是使用 assoc merge

再來是list

一樣從取值開始

方法有 take nth first second 或是直接使用destructuring做mapping

然後就是加長 conj cons

這邊最容易搞混的是你的資料型態,list/vec,還有你要加的東西的型態

接下來是丟掉 drop,但這邊要記得immutable!!

所以你可以丟東西,但最終的結果必須有人去接


上一篇
[Day 15] 常用語法介紹(一)
下一篇
[Day 17] 常用語法介紹(三)
系列文
使用 Clojure 當個 Full-stack 開發者30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言